package com.wchen.gdoc.generate.resource.structure;

import java.util.List;

/**
 * 入参结构
 *
 * @author  wchen
 * @date    2019/11/7
 */
public class ParameterStructure extends ObjectStructure {

    /**
     * 参数注释
     */
    private String paramCommentText;

    /**
     * 参数名
     */
    private String paramName;

    /**
     * 参数注解结构列表
     */
    private List<AnnotationStructure> paramAnnotationList;

    /**
     * 方法结构
     */
    private MethodStructure methodStructure;

    public ParameterStructure(FieldStructure fieldStructure, MethodStructure methodStructure){
        setCommentText(fieldStructure.getCommentText());
        setType(fieldStructure.getType());
        setSimpleName(fieldStructure.getSimpleName());
        setGenericType(fieldStructure.getGenericType());
        setAnnotationList(fieldStructure.getAnnotationList());
        setFieldList(fieldStructure.getFieldList());
        setMethodList(getMethodList());
        setGenericTypeName(fieldStructure.getGenericTypeName());
        this.methodStructure = methodStructure;
    }

    public String getParamCommentText() {
        return paramCommentText;
    }

    public void setParamCommentText(String paramCommentText) {
        this.paramCommentText = paramCommentText;
    }

    public String getParamName() {
        return paramName;
    }

    public void setParamName(String paramName) {
        this.paramName = paramName;
    }

    public List<AnnotationStructure> getParamAnnotationList() {
        return paramAnnotationList;
    }

    public void setParamAnnotationList(List<AnnotationStructure> paramAnnotationList) {
        this.paramAnnotationList = paramAnnotationList;
    }

    public MethodStructure getMethodStructure() {
        return methodStructure;
    }

    public void setMethodStructure(MethodStructure methodStructure) {
        this.methodStructure = methodStructure;
    }
}
